1. Field of the Invention
This invention relates to a musical tone-generating method which generates musical tone waveforms by executing a musical tone-generating program by means of a programmable processing unit such as a CPU or a DSP (Digital Signal Processor), and also relates to a musical tone-generating apparatus which generates musical tone waveforms by executing a musical tone-generating program.
2. Prior Art
In a conventional tone generator or a conventional musical tone-generating program which generates musical tone waveforms, through computation, the sampling frequency, the maximum number of musical tones that can be generated at the same time, and the contents of processing of each musical tone are set beforehand, irrespective of the types of musical tones to be generated and conditions under which other processings such as background processing are executed.
In the conventional tone generator and the musical tone-generating program, however, the following inconveniences have been encountered:
(1) Musical tone-generating operations employed are fixed, and therefore in some cases, processings which are not necessary are executed, and in other cases, essential processings are not executed.
For example, in a tone generator or a musical tone-generating program which can generate musical tones simultaneously through a plurality of tone-generating channels, musical tones are generated through each tone-generating channel independently of those generated through the other channels, and the number of waveform samples to be generated per unit time is constant for all the tone-generating channels. Therefore, although musical tones generated through each channel have different characteristics from those generated through the other channels and have different qualities required according to the kinds of the musical tones, the same number of waveform samples are generated for all the tone-generating channels. As a result, the conventional tone generator or the musical tone-generating program performs wasteful operations for generating musical tones.
For example, to generate musical tones with frequency components over a broad frequency band, i.e. with a high quality, the operation for generating musical tone waveforms has to be carried out at a high sampling frequency (i.e. with a large number of samples), while to generate musical tones with frequency components only in a low frequency band, it suffices to perform the operation for generating musical tone waveforms at a low sampling frequency (i.e. with a small number of samples). Further, some music pieces require a large number of musical tones to be generated but with a low quality when they are performed, and other music pieces require only a small number of musical tones to be generated but with a high quality. Further, a tone-generating channel which generates musical tones for an outstanding part of a music piece to be performed, such as a leading part, is required to generate musical tones with a high quality, while a tone-generating channel which generates musical tones for an inconspicuous part such as a backing part, is allowed to generate musical tones with a degraded quality, giving almost no difference in sound quality to a listener.
Further, some types of musical tones require conversion of the pitch of musical tone waveforms thereof when they are generated, while other types of musical tones do not require such conversion of the pitch. Some types of musical tones require modulation by means of an LFO (Low Frequency Oscillator), while other types do not require the same. Some types of musical tones require tone color processing by means of a digital filter, while others do not require the same, and some types of musical tones require imparting effects thereto, while others do not require the same. The conventional tone generator, however, has fixed circuits, and therefore it is difficult to add a new processing or omit a dispensable processing to or from the original fixed processings, which requires addition of a complicated circuit.
(2) In a tone generator which is realized by software (software tone generator), the amount of operation by a CPU thereof dynamically changes depending upon the number of tone-generating channels which are currently under operation for generating musical tones and the contents of musical tone-generating operations.performed by the tone generator. When a software tone generator program (hereinafter referred to as "the software tone generator") is implemented by a general-purpose computer in parallel with other application programs (hereinafter referred to as "the other applications"), the operation of the other applications can sometimes be unstable due to a change in the amount of operation by the software tone generator, particularly an increase in the amount of operation.
(3) The amount of operation that can be allotted to the software tone generator to be processed is limited not only by the number and types of the other applications executed in parallel but also by the processing capacity of the processing unit which carries out the operation. Since the amount of operation allotted is thus severely limited and also the operation for generating musical tones is performed in a fixed or unversatile manner, even if a user wants to generate an increased number of musical tones at the same time but with a degraded quality, or to generate a smaller number of musical tones but with a high quality, he cannot choose either of the two operation modes.